/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fiap.servlet;

import br.com.fiap.dao.*;
import br.com.fiap.vo.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Fabianoss
 */
public class administradorServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        HttpSession session = request.getSession();
        String acao = request.getParameter("acao");
        String paginaRetorno = "";

        if (acao.equals("CadastroAluno")) {

            PessoaVO pessoaVo = new PessoaVO();
            PessoaDAO pessoaDAO = new PessoaDAO();

            if (request.getParameter("nome") != null) {
                if (request.getParameter("nome").trim().equals("")) {
                    pessoaVo.setNome(" ");
                } else {
                    pessoaVo.setNome(request.getParameter("nome"));
                }
            }
            if (request.getParameter("sobreNome") != null) {
                if (request.getParameter("sobreNome").trim().equals("")) {
                    pessoaVo.setSobrenome(" ");
                } else {
                    pessoaVo.setSobrenome(request.getParameter("sobreNome"));
                }

            }
            if (request.getParameter("endereco") != null) {
                if (request.getParameter("endereco").trim().equals("")) {
                    pessoaVo.setEndereco(" ");
                } else {
                    pessoaVo.setEndereco(request.getParameter("endereco"));
                }

            }
            if (request.getParameter("numero") != null) {
                if (request.getParameter("numero").trim().equals("")) {
                    pessoaVo.setNumero("  ");
                } else {
                    pessoaVo.setNumero(request.getParameter("numero"));
                }

            }
            if (request.getParameter("complemento") != null) {
                if (request.getParameter("complemento").trim().equals("")) {
                    pessoaVo.setComplemento("  ");
                } else {
                    pessoaVo.setComplemento(request.getParameter("complemento"));
                }

            }
            if (request.getParameter("cep") != null) {
                if (request.getParameter("cep").trim().equals("")) {
                    pessoaVo.setCep("  ");
                } else {
                    pessoaVo.setCep(request.getParameter("cep"));
                }

            }
            if (request.getParameter("bairro") != null) {
                if (request.getParameter("bairro").trim().equals("")) {
                    pessoaVo.setBairro(" ");
                } else {
                    pessoaVo.setBairro(request.getParameter("bairro"));
                }

            }
            if (request.getParameter("cidade") != null) {
                if (request.getParameter("cidade").trim().equals("")) {
                    pessoaVo.setCidade(" ");
                } else {
                    pessoaVo.setCidade(request.getParameter("cidade"));
                }

            }
            if (request.getParameter("uf") != null) {
                if (request.getParameter("uf").trim().equals("")) {
                    pessoaVo.setEstado(" ");
                } else {
                    pessoaVo.setEstado(request.getParameter("uf"));
                }

            }
            if (request.getParameter("telefone") != null) {
                if (request.getParameter("telefone").trim().equals("")) {
                    pessoaVo.setTelefone("  ");
                } else {
                    pessoaVo.setTelefone(request.getParameter("telefone"));
                }

            }
            if (request.getParameter("celular") != null) {
                if (request.getParameter("celular").trim().equals("")) {
                    pessoaVo.setCelular("  ");
                } else {
                    pessoaVo.setCelular(request.getParameter("celular"));
                }

            }
            if (request.getParameter("rg") != null) {
                if (request.getParameter("rg").trim().equals("")) {
                    pessoaVo.setRg("  ");
                } else {
                    pessoaVo.setRg(request.getParameter("rg"));
                }

            }
            if (request.getParameter("cpf") != null) {
                if (request.getParameter("cpf").trim().equals("")) {
                    pessoaVo.setCpf("  ");
                } else {
                    pessoaVo.setCpf(request.getParameter("cpf"));
                }

            }

            pessoaDAO.Salvar(pessoaVo);
            int idPessoa = pessoaDAO.getMaxIdPessoa();
            pessoaVo.setIdpessoa(idPessoa);

            AlunoVO alunoVO = new AlunoVO();
            alunoVO.setPessoaVO(pessoaVo);

            AlunoDAO alunoDAO = new AlunoDAO();
            alunoDAO.Salvar(alunoVO);

            paginaRetorno = "/paginas/menuAdm.jsp?msg=Aluno cadastrado com sucesso!";

        } else if (acao.equals("cadAluno")) {
            paginaRetorno = "/paginas/cadastroAluno.jsp";
        } else if (acao.equals("cadDisciplina")) {
            
            CursoDAO cursoDAO = new CursoDAO();
            List<CursoVO> listaCurso = new ArrayList<CursoVO>();
            listaCurso = cursoDAO.listarCursosVO();
            session.setAttribute("listaCurso", listaCurso);
            paginaRetorno = "/paginas/cadastroDisciplina.jsp";            
        }else if(acao.equals("cadastroDisciplina")){
            
            String disciplina = request.getParameter("disciplina");
            int idCurso = (request.getParameter("curso") == null? 0:Integer.parseInt(request.getParameter("curso")));
            
            CursoDAO cursoDAO =  new CursoDAO();
            CursoVO cursoVO = cursoDAO.getCursoVOById(idCurso);
            
            DisciplinaDAO disciplinaDAO = new DisciplinaDAO();
            DisciplinaVO disciplinaVO = new DisciplinaVO();
            disciplinaVO.setCursoVO(cursoVO);
            disciplinaVO.setNome(disciplina);
            
            disciplinaDAO.Salvar(disciplinaVO);
            paginaRetorno = "/paginas/menuAdm.jsp?msg=Disciplina Cadastrada com sucesso!!";
            
                   
        }else if(acao.equals("cadNotas")){
           
            String teste = "";
            
            DisciplinaDAO disciplinaDAO = new DisciplinaDAO();
            List<DisciplinaVO> listaDiscinaVO = new ArrayList<DisciplinaVO>();
            listaDiscinaVO = disciplinaDAO.listarDisciplinaVO();
            session.setAttribute("listaDisciplinaVO", listaDiscinaVO);
            
            AlunoDAO alunoDAO = new AlunoDAO();
            List<AlunoVO> listaAlunoVO = new ArrayList<AlunoVO>();
            listaAlunoVO = alunoDAO.listarAlunosVO();
            session.setAttribute("listaAlunoVO", listaAlunoVO);
            paginaRetorno = "/paginas/cadastroNotas.jsp";  
            
            CursoDAO cursoDAO = new CursoDAO();
            List<CursoVO> listaCursoVO = new ArrayList<CursoVO>();
            listaCursoVO = cursoDAO.listarCursosVO();
            session.setAttribute("listaCursoVO", listaCursoVO);
            
            
        }else if(acao.equals("CadastroNotas")){
            
            String aluno = request.getParameter("aluno");
            String disciplina = request.getParameter("disciplina");
            String nota1 = request.getParameter("nota1");
            String nota2 = request.getParameter("nota2");
            String nota3 = request.getParameter("nota3");
            String nota4 = request.getParameter("nota4");
            
            NotasVO notasVO = new NotasVO();
            
            AlunoVO alunoVO = new AlunoVO();
            alunoVO.setIdAluno(Integer.valueOf(aluno).intValue());
            
            DisciplinaVO disciplinaVO = new DisciplinaVO();
            disciplinaVO.setIdDisciplina(Integer.valueOf(disciplina).intValue());
            
            notasVO.setAlunoVO(alunoVO);
            notasVO.setdisciplinaVO(disciplinaVO);
            notasVO.setValor1(Integer.valueOf(nota1).intValue());
            notasVO.setValor2(Integer.valueOf(nota2).intValue());
            notasVO.setValor3(Integer.valueOf(nota3).intValue());
            notasVO.setValor4(Integer.valueOf(nota4).intValue());
            
            NotasDAO notasDAO = new NotasDAO();
            notasDAO.Salvar(notasVO);
            paginaRetorno = "/paginas/menuAdm.jsp?msg=Notas Cadastradas com sucesso!!";
                   
        }else if (acao.equals("cadCurso")) {
            paginaRetorno = "/paginas/cadastroCurso.jsp";
        }else if (acao.equals("cadastroCurso")) {
            
            String curso = request.getParameter("curso");
            
            CursoVO cursoVO = new CursoVO();
            cursoVO.setNome(curso);
            
            CursoDAO cursoDAO = new CursoDAO();
            cursoDAO.Salvar(cursoVO);
            paginaRetorno = "/paginas/menuAdm.jsp?msg=Curso Cadastrados com sucesso!!";
        }    

        RequestDispatcher dispatcher = request.getRequestDispatcher(paginaRetorno);
        dispatcher.forward(request, response);

    }
}
